package com.guit.hrms.mapper;

import com.guit.hrms.po.Announcement;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;

import java.time.LocalDateTime;
import java.util.List;

@Mapper
public interface AnnouncementMapper {
    /**
     * 保存公告
     *
     * @param deptId
     * @param deptType
     * @param title
     * @param content
     * @param publishTime
     */
    @Insert("insert into announcement (dept_id, dept_type, title, content, publish_time) " +
            "values (#{deptId}, #{deptType},#{title},#{content},#{publishTime})")
    Integer saveAnnouncements(Integer deptId, Integer deptType, String title, String content, LocalDateTime publishTime);


    /**
     * 根据部门id查询部门公告
     * @param deptId 部门id
     * @return 公告列表
     */
    List<Announcement> getByIdAndType(Integer deptId, Integer deptType);

    /**
     * 更新公告
     *
     * @param id          公告id
     * @param deptId      部门id
     * @param deptType    部门类型
     * @param title       公告标题
     * @param content     公告内容
     * @param publishTime 发布时间
     * @return 更新结果
     */
    Integer updateAnnouncements(Integer id, Integer deptId, Integer deptType, String title, String content, LocalDateTime publishTime);

    /**
     * 删除公告
     * @return 删除结果
     */
    Integer deleteAnnouncements(List<Integer> ids);
}
